﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.ComponentModel.DataAnnotations;
using BCCommon.TMS.Agent;

namespace BCDto.OA.WorkflowActive.WorkflowActivityStepSpecificFormItem
{
	/// <summary>
	/// 工作流活动特殊表单项
	/// </summary>
	public class WorkflowActivityStepSpecificFormItemRequestDto
	{
		/// <summary>
		/// 表单配置标题
		/// </summary>		
		[Display(Name = "表单配置标题")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormConfigTitle { get; set; }
		/// <summary>
		/// 表单配置Code
		/// </summary>		
		[Display(Name = "表单配置Code")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormConfigCode { get; set; }
		/// <summary>
		/// 表单项Code
		/// </summary>		
		[Display(Name = "表单项Code")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormItemCode { get; set; }
		/// <summary>
		/// 表单绑定库名称
		/// </summary>		
		[Display(Name = "表单绑定库名称")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormDatabase { get; set; }
		/// <summary>
		/// 表单绑定表名称
		/// </summary>		
		[Display(Name = "表单绑定表名称")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormTable { get; set; }
		/// <summary>
		/// 表单绑定字段名称
		/// </summary>		
		[Display(Name = "表单绑定字段名称")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string BoundField { get; set; }
		/// <summary>
		/// 表单项标题
		/// </summary>		
		[Display(Name = "表单项标题")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(50, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string ItemTitle { get; set; }
		/// <summary>
		/// 表单项值(可以是数组，值应为保存时与原值的对比增减值，最后完成时更新原值增减即可)
		/// </summary>		
		public string ItemValue { get; set; }
		/// <summary>
		/// 表单项显示值
		/// </summary>
		public string ItemShow { get; set; }
		/// <summary>
		/// 表单项值的类型
		/// </summary>
		public string ItemType { get; set; }
		/// <summary>
		/// 表单项所占行比例
		/// </summary>
		public decimal ItemWidth { get; set; }
		/// <summary>
		/// 表单列是否为表单标题
		/// </summary>
		public bool IsFormTitle { get; set; }
		/// <summary>
		/// 提交人角色
		/// </summary>
		public TMSSubmitRoleType SubmitRole { get; set; }
		/// <summary>
		/// 表单行号
		/// </summary>
		public int FormConfigRows { get; set; }
		/// <summary>
		/// 表单项行号
		/// </summary>
		public int FormItemRows { get; set; }

		/// <summary>
		/// 表单编组名称
		/// </summary>
		public string FormGroupName { get; set; }
		/// <summary>
		/// 修改时间
		/// </summary>		
		[Display(Name = "修改时间")]
		public DateTime? UpdateTime { get; set; }
	}
}

